home *** CD-ROM | disk | FTP | other *** search
/ Motor Sport Digital Archive Collection 1960s / Motor Sport Digital Archive Collection 1960s.iso / main.swf / scripts / mx / skins / ProgrammaticSkin.as < prev    next >
Encoding:
Text File  |  2008-05-21  |  8.1 KB  |  294 lines

  1. package mx.skins
  2. {
  3.    import flash.display.Graphics;
  4.    import flash.geom.Matrix;
  5.    import mx.core.FlexShape;
  6.    import mx.core.IFlexDisplayObject;
  7.    import mx.core.IInvalidating;
  8.    import mx.core.UIComponentGlobals;
  9.    import mx.core.mx_internal;
  10.    import mx.managers.ILayoutManagerClient;
  11.    import mx.styles.ISimpleStyleClient;
  12.    import mx.styles.IStyleClient;
  13.    import mx.utils.GraphicsUtil;
  14.    
  15.    use namespace mx_internal;
  16.    
  17.    public class ProgrammaticSkin extends FlexShape implements IFlexDisplayObject, IInvalidating, ILayoutManagerClient, ISimpleStyleClient
  18.    {
  19.       mx_internal static const VERSION:String = "2.0.1.0";
  20.       
  21.       private static var tempMatrix:Matrix = new Matrix();
  22.       
  23.       private var _initialized:Boolean = false;
  24.       
  25.       private var invalidateDisplayListFlag:Boolean = false;
  26.       
  27.       private var _height:Number;
  28.       
  29.       private var _styleName:IStyleClient;
  30.       
  31.       private var _processedDescriptors:Boolean = false;
  32.       
  33.       private var _updateCompletePendingFlag:Boolean = true;
  34.       
  35.       private var _width:Number;
  36.       
  37.       private var _nestLevel:int = 0;
  38.       
  39.       public function ProgrammaticSkin()
  40.       {
  41.          invalidateDisplayListFlag = false;
  42.          _initialized = false;
  43.          _nestLevel = 0;
  44.          _processedDescriptors = false;
  45.          _updateCompletePendingFlag = true;
  46.          super();
  47.          _width = measuredWidth;
  48.          _height = measuredHeight;
  49.       }
  50.       
  51.       protected function updateDisplayList(param1:Number, param2:Number) : void
  52.       {
  53.       }
  54.       
  55.       public function invalidateSize() : void
  56.       {
  57.       }
  58.       
  59.       public function getStyle(param1:String) : *
  60.       {
  61.          return _styleName.getStyle(param1);
  62.       }
  63.       
  64.       public function get nestLevel() : int
  65.       {
  66.          return _nestLevel;
  67.       }
  68.       
  69.       public function set nestLevel(param1:int) : void
  70.       {
  71.          _nestLevel = param1;
  72.          invalidateDisplayList();
  73.       }
  74.       
  75.       override public function get height() : Number
  76.       {
  77.          return _height;
  78.       }
  79.       
  80.       public function get updateCompletePendingFlag() : Boolean
  81.       {
  82.          return _updateCompletePendingFlag;
  83.       }
  84.       
  85.       protected function verticalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  86.       {
  87.          return rotatedGradientMatrix(param1,param2,param3,param4,90);
  88.       }
  89.       
  90.       public function validateSize(param1:Boolean = false) : void
  91.       {
  92.       }
  93.       
  94.       public function invalidateDisplayList() : void
  95.       {
  96.          if(!invalidateDisplayListFlag && nestLevel > 0)
  97.          {
  98.             invalidateDisplayListFlag = true;
  99.             UIComponentGlobals.mx_internal::layoutManager.invalidateDisplayList(this);
  100.          }
  101.       }
  102.       
  103.       public function set updateCompletePendingFlag(param1:Boolean) : void
  104.       {
  105.          _updateCompletePendingFlag = param1;
  106.       }
  107.       
  108.       override public function set height(param1:Number) : void
  109.       {
  110.          _height = param1;
  111.          invalidateDisplayList();
  112.       }
  113.       
  114.       protected function horizontalGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number) : Matrix
  115.       {
  116.          return rotatedGradientMatrix(param1,param2,param3,param4,0);
  117.       }
  118.       
  119.       public function set processedDescriptors(param1:Boolean) : void
  120.       {
  121.          _processedDescriptors = param1;
  122.       }
  123.       
  124.       override public function set width(param1:Number) : void
  125.       {
  126.          _width = param1;
  127.          invalidateDisplayList();
  128.       }
  129.       
  130.       public function validateDisplayList() : void
  131.       {
  132.          invalidateDisplayListFlag = false;
  133.          updateDisplayList(width,height);
  134.       }
  135.       
  136.       public function get measuredWidth() : Number
  137.       {
  138.          return 0;
  139.       }
  140.       
  141.       public function set initialized(param1:Boolean) : void
  142.       {
  143.          _initialized = param1;
  144.       }
  145.       
  146.       protected function drawRoundRect(param1:Number, param2:Number, param3:Number, param4:Number, param5:Object = null, param6:Object = null, param7:Object = null, param8:Matrix = null, param9:String = "linear", param10:Array = null, param11:Object = null) : void
  147.       {
  148.          var _loc12_:Graphics = null;
  149.          var _loc13_:Number = NaN;
  150.          var _loc14_:Array = null;
  151.          var _loc15_:Object = null;
  152.          _loc12_ = graphics;
  153.          if(param3 == 0 || param4 == 0)
  154.          {
  155.             return;
  156.          }
  157.          if(param6 !== null)
  158.          {
  159.             if(param6 is uint)
  160.             {
  161.                _loc12_.beginFill(uint(param6),Number(param7));
  162.             }
  163.             else if(param6 is Array)
  164.             {
  165.                _loc14_ = param7 is Array ? param7 as Array : [param7,param7];
  166.                if(!param10)
  167.                {
  168.                   param10 = [0,255];
  169.                }
  170.                _loc12_.beginGradientFill(param9,param6 as Array,_loc14_,param10,param8);
  171.             }
  172.          }
  173.          if(!param5)
  174.          {
  175.             _loc12_.drawRect(param1,param2,param3,param4);
  176.          }
  177.          else if(param5 is Number)
  178.          {
  179.             _loc13_ = Number(param5) * 2;
  180.             _loc12_.drawRoundRect(param1,param2,param3,param4,_loc13_,_loc13_);
  181.          }
  182.          else
  183.          {
  184.             GraphicsUtil.drawRoundRectComplex(_loc12_,param1,param2,param3,param4,param5.tl,param5.tr,param5.bl,param5.br);
  185.          }
  186.          if(param11)
  187.          {
  188.             _loc15_ = param11.r;
  189.             if(_loc15_ is Number)
  190.             {
  191.                _loc13_ = Number(_loc15_) * 2;
  192.                _loc12_.drawRoundRect(param11.x,param11.y,param11.w,param11.h,_loc13_,_loc13_);
  193.             }
  194.             else
  195.             {
  196.                GraphicsUtil.drawRoundRectComplex(_loc12_,param11.x,param11.y,param11.w,param11.h,_loc15_.tl,_loc15_.tr,_loc15_.bl,_loc15_.br);
  197.             }
  198.          }
  199.          if(param6 !== null)
  200.          {
  201.             _loc12_.endFill();
  202.          }
  203.       }
  204.       
  205.       public function get measuredHeight() : Number
  206.       {
  207.          return 0;
  208.       }
  209.       
  210.       public function get processedDescriptors() : Boolean
  211.       {
  212.          return _processedDescriptors;
  213.       }
  214.       
  215.       public function set styleName(param1:Object) : void
  216.       {
  217.          if(_styleName != param1)
  218.          {
  219.             _styleName = param1 as IStyleClient;
  220.             invalidateDisplayList();
  221.          }
  222.       }
  223.       
  224.       public function setActualSize(param1:Number, param2:Number) : void
  225.       {
  226.          var _loc3_:Boolean = false;
  227.          _loc3_ = false;
  228.          if(_width != param1)
  229.          {
  230.             _width = param1;
  231.             _loc3_ = true;
  232.          }
  233.          if(_height != param2)
  234.          {
  235.             _height = param2;
  236.             _loc3_ = true;
  237.          }
  238.          if(_loc3_)
  239.          {
  240.             invalidateDisplayList();
  241.          }
  242.       }
  243.       
  244.       override public function get width() : Number
  245.       {
  246.          return _width;
  247.       }
  248.       
  249.       public function styleChanged(param1:String) : void
  250.       {
  251.          invalidateDisplayList();
  252.       }
  253.       
  254.       public function invalidateProperties() : void
  255.       {
  256.       }
  257.       
  258.       public function move(param1:Number, param2:Number) : void
  259.       {
  260.          this.x = param1;
  261.          this.y = param2;
  262.       }
  263.       
  264.       public function get initialized() : Boolean
  265.       {
  266.          return _initialized;
  267.       }
  268.       
  269.       protected function rotatedGradientMatrix(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number) : Matrix
  270.       {
  271.          tempMatrix.createGradientBox(param3,param4,param5 * Math.PI / 180,param1,param2);
  272.          return tempMatrix;
  273.       }
  274.       
  275.       public function get styleName() : Object
  276.       {
  277.          return _styleName;
  278.       }
  279.       
  280.       public function validateProperties() : void
  281.       {
  282.       }
  283.       
  284.       public function validateNow() : void
  285.       {
  286.          if(invalidateDisplayListFlag)
  287.          {
  288.             validateDisplayList();
  289.          }
  290.       }
  291.    }
  292. }
  293.  
  294.